'''
使用requests 做接口测试，发送get请求
'''

import requests

env = "http://192.168.1.125:8088/"

# 获取用户列表
url = env + "futureloan/mvc/api/member/list"
# 发送请求，将响应的结果放在变量r只中
r = requests.get(url)
# 打印文本格式的响应
print(r.text)
# 响应格式是json格式，可以转成json,当做字典处理
print(r.json())

# 对结果进行断言
assert r.json()['status'] == 1
assert r.json()['code'] == "10001"
assert r.json()['msg'] == "获取用户列表成功"

# ##########################################
#注册接口
# 1.参数直接拼接到url的后面
url= env + "futureloan/mvc/api/member/register?mobilephone=18023456789&pwd=12345&regname=sdhufih"
r = requests.get(url)
print(r.text)
# print(r.json())
# 实际结果，也就是接口响应的值
#  语气结果，从接口文档中获取的
#  检查实际结果与预期结果是否一致
assert r.json()['status'] == 0
assert r.json()['code'] == "20108"
assert  r.json()['msg'] == "密码长度必须为6~18"

url= env + "futureloan/mvc/api/member/register"
cs = {"mobilephone":"18023496780",
      "pwd":"12345",
      "regname":"sdhufih"}
r = requests.get(url,params=cs)
print(r.text)
assert r.json()['status'] == 0
assert r.json()['code'] == "20108"
assert r.json()['msg'] == "密码长度必须为6~18"
# ctrl +alt+ L 格式化代码

print("*" * 100) #  分割线
print("r.text=",r.text) # 文本格式
print("r.json=",r.json()) # 如果是json 格式的，可以转成json来处理
print("r.status_code=",r.status_code)# 状态吗
print("r.reason=",r.reason)# 状态原因
print("r.headers=",r.headers)# 响应头
#  'User-Agent':'python-requests/2.25.1'  jmeter
print("r.request.headers=",r.request.headers)# 请求头
print("*" * 100) #  分割线


# 伪装成浏览器发送的请求，设置User-Agent
hd = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"}
r = requests.get(url,params=cs,headers=hd)
print("r.json()=",r.json())
print("r.request.headers=",r.request.headers)
